package org.example.observer;

import java.util.HashMap;

public class DescSort implements Observer{
    HashMap<String, Integer> hm = new HashMap<>();

    @Override
    public void response(String word) {
        hm.put(word, hm.getOrDefault(word, 0)+1);
    }

    @Override
    public void show() {
        /**
         * Map按照整数型的value进行降序排序，当value相同时，按照key的长度进行排序
         */
        System.out.println("----词频----");
        hm.entrySet().stream().sorted((o, t) -> o.getValue() < t.getValue() ? 1 : -1).forEach(i -> {
            System.out.println(i.getKey() + ": " + i.getValue());
        });
    }
}
